<!DOCTYPE html>
<html  lang="zh">
<head>
    <meta charset="utf-8" />

<meta name="generator" content="Hexo 4.0.0" />

<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />

<title>TensorFlow常用函数归档 - 吕东旭</title>


    <meta name="description" content="这篇博客主要是整理用到TensorFlow函数，方便日后查找">
<meta name="keywords" content="TensorFlow Function">
<meta property="og:type" content="article">
<meta property="og:title" content="TensorFlow常用函数归档">
<meta property="og:url" content="https:&#x2F;&#x2F;lvdongxu.gitee.io&#x2F;blog&#x2F;2020&#x2F;01&#x2F;19&#x2F;tensorflow-chang-yong-han-shu-gui-dang&#x2F;index.html">
<meta property="og:site_name" content="吕东旭">
<meta property="og:description" content="这篇博客主要是整理用到TensorFlow函数，方便日后查找">
<meta property="og:locale" content="zh-CN">
<meta property="og:image" content="https:&#x2F;&#x2F;lvdongxu.gitee.io&#x2F;blog&#x2F;blog&#x2F;gallery&#x2F;featureimages&#x2F;12.jpg">
<meta property="og:updated_time" content="2020-02-04T08:11:40.640Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https:&#x2F;&#x2F;lvdongxu.gitee.io&#x2F;blog&#x2F;blog&#x2F;gallery&#x2F;featureimages&#x2F;12.jpg">







<link rel="icon" href="/blog/images/sjtu.svg">


<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.7.2/css/bulma.css">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.4.1/css/all.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Ubuntu:400,600|Source+Code+Pro">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/highlight.js@9.12.0/styles/atom-one-light.css">


    
    
<style>body>.footer,body>.navbar,body>.section{opacity:0}</style>

    
    
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/lightgallery@1.6.8/dist/css/lightgallery.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/justifiedGallery@3.7.0/dist/css/justifiedGallery.min.css">

    
    
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/outdatedbrowser@1.1.5/outdatedbrowser/outdatedbrowser.min.css">

    
    
    
    <link rel="stylesheet" href="/blog/css/progressbar.css">
<script src="https://cdn.jsdelivr.net/npm/pace-js@1.0.2/pace.min.js"></script>
    
    <script async="" src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
    


<link rel="stylesheet" href="/blog/css/style.css">
<link rel="stylesheet" href="/blog/css/prism-tomorrow.css" type="text/css"></head>
<body class="is-2-column">
    <nav class="navbar navbar-main">
    <div class="container">
        <div class="navbar-brand is-flex-center">
            <a class="navbar-item navbar-logo" href="/blog/">
            
                <img src="/blog/images/logo.svg" alt="TensorFlow常用函数归档" height="28">
            
            </a>
        </div>
        <div class="navbar-menu">
            
            <div class="navbar-start">
                
                <a class="navbar-item"
                href="/blog/">Home</a>
                
                <a class="navbar-item"
                href="/blog/archives">归档</a>
                
                <a class="navbar-item"
                href="/blog/categories">分类</a>
                
                <a class="navbar-item"
                href="/blog/tags">标签</a>
                
            </div>
            
            <div class="navbar-end">
                
                    
                    <a class="navbar-item" target="_blank" title="Download on GitHub" href="https://github.com/lvdongxu/hexo-theme-icarus">
                        
                        <i class="fab fa-github"></i>
                        
                    </a>
                    
                
                
                <a class="navbar-item is-hidden-tablet catalogue" title="目录" href="javascript:;" target="_blank" rel="noopener">
                    <i class="fas fa-list-ul"></i>
                </a>
                
                
                <a class="navbar-item search" title="搜索" href="javascript:;" target="_blank" rel="noopener">
                    <i class="fas fa-search"></i>
                </a>
                
            </div>
        </div>
    </div>
</nav>
    
    <section class="section">
        <div class="container">
            <div class="columns">
                <div class="column is-6-tablet is-9-desktop is-9-widescreen has-order-2 column-main">
<div class="card">
    
    <div class="card-image">
        <span  class="image is-7by1">
            <img class="thumbnail" src="/blog/gallery/featureimages/12.jpg" alt="TensorFlow常用函数归档">
        </span>
    </div>
    
    <div class="card-content article ">
        <h1 class="title is-size-3 is-size-4-mobile has-text-weight-normal">
            
                <i class="fas fa-angle-double-right"></i>TensorFlow常用函数归档
            
        </h1>
        
        <div class="level article-meta is-size-7 is-uppercase is-mobile is-overflow-x-auto">
            <div class="level-left">
                <!-- <time class="level-item has-text-grey" datetime="2020-01-19T14:24:27.000Z">2020-01-19</time> -->
                <time class="level-item has-text-grey" datetime="2020-01-19T14:24:27.000Z"><i class="far fa-calendar-alt">&nbsp;</i>2020-01-19</time>
                
                <time class="level-item has-text-grey is-hidden-mobile" datetime="2020-02-04T08:11:40.640Z"><i class="far fa-calendar-check">&nbsp;</i>2020-02-04</time>
                
                
                <div class="level-item">
                <a class="has-link-grey -link" href="/blog/categories/TensorFlow/">TensorFlow</a>
                </div>
                
                
                <span class="level-item has-text-grey">
                    
                    
                    4 分钟 读完 (大约 540 个字)
                </span>
                
                
                <span class="level-item has-text-grey" id="busuanzi_container_page_pv">
                    <i class="far fa-eye"></i>
                    <span id="busuanzi_value_page_pv">0</span>次访问
                </span>
                
            </div>
        </div>
        
        <!-- <h1 class="title is-size-3 is-size-4-mobile has-text-weight-normal">
            
                TensorFlow常用函数归档
            
        </h1> -->
        <div class="content">
            <p>这篇博客主要是整理用到TensorFlow函数，方便日后查找</p>
<a id="more"></a>

<h1 id="Part1-Matrix-Structure"><a href="#Part1-Matrix-Structure" class="headerlink" title="Part1 Matrix Structure"></a>Part1 Matrix Structure</h1><h2 id="1-1-tf-newaxis-矩阵增加维度命令"><a href="#1-1-tf-newaxis-矩阵增加维度命令" class="headerlink" title="1.1 tf.newaxis 矩阵增加维度命令"></a>1.1 tf.newaxis 矩阵增加维度命令</h2><p><strong>该函数的作用是给tensor增加维度</strong>，例如：</p>
<figure class="highlight python hljs"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="hljs-keyword">import</span> tensorflow <span class="hljs-keyword">as</span> tf </span><br><span class="line">a = tf.range(<span class="hljs-number">10</span>,dtype=tf.int32) </span><br><span class="line">print(a) </span><br><span class="line">b = a[:,tf.newaxis] </span><br><span class="line">print(b)</span><br></pre></td></tr></table></figure>

<p><strong>输出结果是</strong>：</p>
<p>a的shape为（10，）<br>b的shape为（10，1）<br>若b = a[tf.newaxis,:]，则b的shape为（1,10）</p>
<h2 id="1-2-tf-eye-单位阵函数"><a href="#1-2-tf-eye-单位阵函数" class="headerlink" title="1.2 tf.eye - 单位阵函数"></a>1.2 tf.eye - 单位阵函数</h2><h1 id="Part2-Matrix-Calculation"><a href="#Part2-Matrix-Calculation" class="headerlink" title="Part2 Matrix Calculation"></a>Part2 Matrix Calculation</h1><h2 id="2-1-tf-matmul-矩阵相乘函数"><a href="#2-1-tf-matmul-矩阵相乘函数" class="headerlink" title="2.1 tf.matmul 矩阵相乘函数"></a>2.1 tf.matmul 矩阵相乘函数</h2><p><strong>函数参数如下</strong>：</p>
<figure class="highlight python hljs"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line">tf.matmul(</span><br><span class="line">    a,</span><br><span class="line">    b,</span><br><span class="line">    transpose_a=<span class="hljs-literal">False</span>, <span class="hljs-comment"># 第一个矩阵是否在相乘前转置</span></span><br><span class="line">    transpose_b=<span class="hljs-literal">False</span>, <span class="hljs-comment"># 第二个矩阵是否在相乘前转置</span></span><br><span class="line">    adjoint_a=<span class="hljs-literal">False</span>, <span class="hljs-comment"># 第一个矩阵是否在相乘前共轭转置</span></span><br><span class="line">    adjoint_b=<span class="hljs-literal">False</span>, <span class="hljs-comment"># 第二个矩阵是否在相乘前共轭转置</span></span><br><span class="line">    a_is_sparse=<span class="hljs-literal">False</span>, <span class="hljs-comment"># 第一个矩阵是否是稀疏矩阵</span></span><br><span class="line">    b_is_sparse=<span class="hljs-literal">False</span>, <span class="hljs-comment"># 第二个矩阵是否是稀疏矩阵</span></span><br><span class="line">    name=<span class="hljs-literal">None</span></span><br><span class="line">)</span><br></pre></td></tr></table></figure>

<h1 id="Part3-统计比较类的函数"><a href="#Part3-统计比较类的函数" class="headerlink" title="Part3 统计比较类的函数"></a>Part3 统计比较类的函数</h1><h2 id="3-1-tf-equal-比较两个矩阵-向量-张量间相对应位置的元素是否相等，返回同样大小的布尔张量"><a href="#3-1-tf-equal-比较两个矩阵-向量-张量间相对应位置的元素是否相等，返回同样大小的布尔张量" class="headerlink" title="3.1 tf.equal() 比较两个矩阵/向量/张量间相对应位置的元素是否相等，返回同样大小的布尔张量"></a>3.1 tf.equal() 比较两个矩阵/向量/张量间相对应位置的元素是否相等，返回同样大小的布尔张量</h2><p><strong>函数定义如下</strong>：</p>
<figure class="highlight python hljs"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">tf.equal(</span><br><span class="line">    x, <span class="hljs-comment"># 张量。必须是以下类型之一:bfloat16、half、float32、float64、uint8、int8、int16、int32、int64、complex64、quint8、qint8、qint32、string、bool、complex128。</span></span><br><span class="line">    y, <span class="hljs-comment"># 张量。必须具有与x相同的类型。</span></span><br><span class="line">    name=<span class="hljs-literal">None</span> <span class="hljs-comment"># 操作的名称(可选)。</span></span><br><span class="line">)</span><br></pre></td></tr></table></figure>

<h2 id="3-2-tf-cast-数据类型转换"><a href="#3-2-tf-cast-数据类型转换" class="headerlink" title="3.2 tf.cast() 数据类型转换"></a>3.2 tf.cast() 数据类型转换</h2><p><strong>函数定义</strong>:</p>
<figure class="highlight python hljs"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">tf.cast(x, <span class="hljs-comment"># 待转换的数据（张量）</span></span><br><span class="line">        dtype, <span class="hljs-comment"># 目标数据类型</span></span><br><span class="line">        name=<span class="hljs-literal">None</span> <span class="hljs-comment"># 可选参数，定义操作的名称</span></span><br><span class="line">       )</span><br></pre></td></tr></table></figure>

<h2 id="3-3-tf-reduce-mean-计算张量各个维度上的平均值"><a href="#3-3-tf-reduce-mean-计算张量各个维度上的平均值" class="headerlink" title="3.3 tf.reduce_mean() 计算张量各个维度上的平均值"></a>3.3 tf.reduce_mean() 计算张量各个维度上的平均值</h2><p><strong>函数定义</strong>:</p>
<figure class="highlight python hljs"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">tf.reduce_mean(</span><br><span class="line">    input_tensor, <span class="hljs-comment"># 要减少的张量.应该有数字类型.</span></span><br><span class="line">    axis=<span class="hljs-literal">None</span>, <span class="hljs-comment"># 要减小的尺寸.如果为None(默认),则减少所有维度.必须在[-rank(input_tensor), rank(input_tensor))范围内.</span></span><br><span class="line">    keep_dims=<span class="hljs-literal">False</span>, <span class="hljs-comment"># 如果为true,则保留长度为1的缩小尺寸.</span></span><br><span class="line">    name=<span class="hljs-literal">None</span>, <span class="hljs-comment"># 操作的名称(可选).</span></span><br><span class="line">    reduction_indices=<span class="hljs-literal">None</span> <span class="hljs-comment"># axis的不支持使用的名称.</span></span><br><span class="line">)</span><br></pre></td></tr></table></figure>

<h2 id="3-1-3-2-3-3-代码示例"><a href="#3-1-3-2-3-3-代码示例" class="headerlink" title="3.1+3.2+3.3 代码示例"></a>3.1+3.2+3.3 代码示例</h2><center>

<p><img src="/blog/img/TensorFlow%E5%B8%B8%E7%94%A8%E5%87%BD%E6%95%B0%E5%BD%92%E6%A1%A3/cast-equal-reduce_mean.jpg" alt></p>
</center>
        </div>
        
        <div>
            <ul class="post-copyright">
            <li><strong>本文标题：</strong><a href="/blog/2020/01/19/tensorflow-chang-yong-han-shu-gui-dang/">TensorFlow常用函数归档</a></li>
            <li><strong>本文作者：</strong><a href="https://lvdongxu.github.io" target="_blank" rel="noopener">吕东旭</a></li>
            <li><strong>本文链接：</strong><a href="/blog/2020/01/19/tensorflow-chang-yong-han-shu-gui-dang/">https://lvdongxu.github.io/2020/01/19/tensorflow-chang-yong-han-shu-gui-dang/</a></li> <!-- 这里替换成你自己的网址-->
            <li><strong>发布时间：</strong>2020-01-19</li>
            <li><strong>版权声明：</strong>本博客所有文章除特别声明外，均采用 <a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.zh" rel="external nofollow" target="_blank">CC BY-NC-SA 4.0</a> 许可协议。转载请注明出处！</li>
            </ul>
        </div><br>
        
        
        <hr style="height:1px;margin:1rem 0"/>
        <div class="level is-size-7 is-uppercase">
            <div class="level-start">
                <div class="level-item">
                    <!-- <span class="is-size-6 has-text-grey has-mr-7">#</span> -->
                    <i class="fas fa-tags has-text-grey"></i>&nbsp;
                    <a class="has-link-grey -link" href="/blog/tags/TensorFlow-Function/" rel="tag">TensorFlow Function</a>
                </div>
            </div>
        </div>
        
        
        
    </div>
</div>





<div class="card card-transparent">
    <div class="level post-navigation is-flex-wrap is-mobile">
        
        <div class="level-start">
            <a class="level level-item has-link-grey  article-nav-prev" href="/blog/2020/01/21/hello-world/">
                <i class="level-item fas fa-chevron-left"></i>
                <span class="level-item">Hello World</span>
            </a>
        </div>
        
        
        <div class="level-end">
            <a class="level level-item has-link-grey  article-nav-next" href="/blog/2019/11/23/mimo-lun-wen-mu-lu-zheng-li/">
                <span class="level-item">Massive MIMO 论文名录及要点整理</span>
                <i class="level-item fas fa-chevron-right"></i>
            </a>
        </div>
        
    </div>
</div>


</div>
                
    
    
    
    
    <div class="column is-4-tablet is-3-desktop is-3-widescreen  has-order-1 column-left is-sticky">
        
            
<div class="card widget">
    <div class="card-content">
        <nav class="level">
            <div class="level-item has-text-centered" style="flex-shrink: 1">
                <div>
                    
                    <figure class="image is-128x128 has-mb-6">
                        <img class="" src="/blog/images/sjtu.png" alt="吕东旭">
                    </figure>
                    
                    <p class="is-size-4 is-block">
                        吕东旭
                    </p>
                    
                    
                    <p class="is-size-6 is-block">
                        Hardware engineer
                    </p>
                    
                    
                    <p class="is-size-6 is-flex is-flex-center has-text-grey">
                        <i class="fas fa-map-marker-alt has-mr-7"></i>
                        <span>上海交通大学闵行校区</span>
                    </p>
                    
                </div>
            </div>
        </nav>
        <nav class="level is-mobile">
            <div class="level-item has-text-centered is-marginless">
                <div>
                    <p class="heading">
                        文章
                    </p>
                    <a href="/blog/archives">
                        <p class="title has-text-weight-normal">
                            4
                        </p>
                    </a>
                </div>
            </div>
            <div class="level-item has-text-centered is-marginless">
                <div>
                    <p class="heading">
                        分类
                    </p>
                    <a href="/blog/categories">
                        <p class="title has-text-weight-normal">
                            3
                        </p>
                    </a>
                </div>
            </div>
            <div class="level-item has-text-centered is-marginless">
                <div>
                    <p class="heading">
                        标签
                    </p>
                    <a href="/blog/tags">
                        <p class="title has-text-weight-normal">
                            4
                        </p>
                    </a>
                </div>
            </div>
        </nav>
        
        <div class="level">
            <a class="level-item button is-link is-rounded" href="https://github.com/lvdongxu" target="_blank">
                关注我</a>
        </div>
        
        
        
        <div class="level is-mobile">
            
            <a class="level-item button is-white is-marginless" target="_blank"
                title="Github" href="https://github.com/lvdongxu">
                
                <i class="fab fa-github"></i>
                
            </a>
            
        </div>
        
    </div>
</div>
        
            

    <div class="card widget" id="toc">
        <div class="card-content">
            <div class="menu">
                <h3 class="menu-label">
                    目录
                </h3>
                <ul class="menu-list"><li>
        <a class="is-flex" href="#Part1-Matrix-Structure">
        <!-- <span class="has-mr-6">1</span> -->
        <span>Part1 Matrix Structure</span>
        </a><ul class="menu-list"><li>
        <a class="is-flex" href="#1-1-tf-newaxis-矩阵增加维度命令">
        <!-- <span class="has-mr-6">1.1</span> -->
        <span>1.1 tf.newaxis 矩阵增加维度命令</span>
        </a></li><li>
        <a class="is-flex" href="#1-2-tf-eye-单位阵函数">
        <!-- <span class="has-mr-6">1.2</span> -->
        <span>1.2 tf.eye - 单位阵函数</span>
        </a></li></ul></li><li>
        <a class="is-flex" href="#Part2-Matrix-Calculation">
        <!-- <span class="has-mr-6">2</span> -->
        <span>Part2 Matrix Calculation</span>
        </a><ul class="menu-list"><li>
        <a class="is-flex" href="#2-1-tf-matmul-矩阵相乘函数">
        <!-- <span class="has-mr-6">2.1</span> -->
        <span>2.1 tf.matmul 矩阵相乘函数</span>
        </a></li></ul></li><li>
        <a class="is-flex" href="#Part3-统计比较类的函数">
        <!-- <span class="has-mr-6">3</span> -->
        <span>Part3 统计比较类的函数</span>
        </a><ul class="menu-list"><li>
        <a class="is-flex" href="#3-1-tf-equal-比较两个矩阵-向量-张量间相对应位置的元素是否相等，返回同样大小的布尔张量">
        <!-- <span class="has-mr-6">3.1</span> -->
        <span>3.1 tf.equal() 比较两个矩阵/向量/张量间相对应位置的元素是否相等，返回同样大小的布尔张量</span>
        </a></li><li>
        <a class="is-flex" href="#3-2-tf-cast-数据类型转换">
        <!-- <span class="has-mr-6">3.2</span> -->
        <span>3.2 tf.cast() 数据类型转换</span>
        </a></li><li>
        <a class="is-flex" href="#3-3-tf-reduce-mean-计算张量各个维度上的平均值">
        <!-- <span class="has-mr-6">3.3</span> -->
        <span>3.3 tf.reduce_mean() 计算张量各个维度上的平均值</span>
        </a></li><li>
        <a class="is-flex" href="#3-1-3-2-3-3-代码示例">
        <!-- <span class="has-mr-6">3.4</span> -->
        <span>3.1+3.2+3.3 代码示例</span>
        </a></li></ul></li></ul>
            </div>
        </div>
    </div>

        
        
            <!-- <div class="column-right-shadow is-hidden-widescreen is-sticky"> -->
            <div class="column-right-shadow  is-sticky">
            
            </div>
        
    </div>

                
            </div>
        </div>
    </section>
    <footer class="footer">
    <div class="container">
        <div class="level">
            <span id="busuanzi_container_site_pv" class="theme-info">
                |  本站总访问量<span id="busuanzi_value_site_pv">次
            </span>
            <span id="busuanzi_container_site_uv" class="theme-info">
                |  本站访客数<span id="busuanzi_value_site_uv">人次
            </span>
            <script async src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script>
            <div class="level-start has-text-centered-mobile">
                <a class="footer-logo is-block has-mb-6" href="/blog/">
                
                    <img src="/blog/images/logo.svg" alt="TensorFlow常用函数归档" height="28">
                
                </a>
                <p class="is-size-7">
                &copy; 2020 吕东旭&nbsp;
                Powered by <a href="https://hexo.io/" target="_blank">Hexo</a> & <a
                        href="https://github.com/ppoffice/hexo-theme-icarus" target="_blank">Icarus</a>
                
                <br>
                <span id="busuanzi_container_site_uv">
                共<span id="busuanzi_value_site_uv">0</span>个访客
                </span>
                
                </p>
            </div>
            <span id="timeDate">载入天数...</span><span id="times">载入时分秒...</span>
            <script>
                var now = new Date(); 
                function createtime() { 
                    var grt= new Date("11/1/2019 00:00:00");//此处修改你的建站时间或者网站上线时间 
                    now.setTime(now.getTime()+250); 
                    days = (now - grt ) / 1000 / 60 / 60 / 24; dnum = Math.floor(days); 
                    hours = (now - grt ) / 1000 / 60 / 60 - (24 * dnum); hnum = Math.floor(hours); 
                    if(String(hnum).length ==1 ){hnum = "0" + hnum;} minutes = (now - grt ) / 1000 /60 - (24 * 60 * dnum) - (60 * hnum); 
                    mnum = Math.floor(minutes); if(String(mnum).length ==1 ){mnum = "0" + mnum;} 
                    seconds = (now - grt ) / 1000 - (24 * 60 * 60 * dnum) - (60 * 60 * hnum) - (60 * mnum); 
                    snum = Math.round(seconds); if(String(snum).length ==1 ){snum = "0" + snum;} 
                    document.getElementById("timeDate").innerHTML = "本站已安全运行 "+dnum+" 天 "; 
                    document.getElementById("times").innerHTML = hnum + " 小时 " + mnum + " 分 " + snum + " 秒"; 
                } 
            setInterval("createtime()",250);
            </script>
            <div class="level-end">
            
                <div class="field has-addons is-flex-center-mobile has-mt-5-mobile is-flex-wrap is-flex-middle">
                
                <p class="control">
                    <a class="button is-white is-large" target="_blank" title="Creative Commons" href="https://creativecommons.org/">
                        
                        <i class="fab fa-creative-commons"></i>
                        
                    </a>
                </p>
                
                <p class="control">
                    <a class="button is-white is-large" target="_blank" title="Attribution 4.0 International" href="https://creativecommons.org/licenses/by/4.0/">
                        
                        <i class="fab fa-creative-commons-by"></i>
                        
                    </a>
                </p>
                
                <p class="control">
                    <a class="button is-white is-large" target="_blank" title="Download on GitHub" href="https://github.com/lvdongxu/hexo-theme-icarus">
                        
                        <i class="fab fa-github"></i>
                        
                    </a>
                </p>
                
                </div>
            
            </div>
        </div>
    </div>
</footer>


    <script src="https://cdn.jsdelivr.net/npm/jquery@3.3.1/dist/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/moment@2.22.2/min/moment-with-locales.min.js"></script>
<script>moment.locale("zh-CN");</script>

<script>
var IcarusThemeSettings = {
    article: {
        highlight: {
            clipboard: true,
            fold: 'unfolded'
        }
    }
};
</script>


    <script src="https://cdn.jsdelivr.net/npm/clipboard@2.0.4/dist/clipboard.min.js" defer></script>



    
    
<script src="/blog/js/animation.js"></script>

    
    
<script src="https://cdn.jsdelivr.net/npm/lightgallery@1.6.8/dist/js/lightgallery.min.js" defer></script>
<script src="https://cdn.jsdelivr.net/npm/justifiedGallery@3.7.0/dist/js/jquery.justifiedGallery.min.js" defer></script>
<script src="/blog/js/gallery.js" defer></script>

    
    
<div id="outdated">
    <h6>Your browser is out-of-date!</h6>
    <p>Update your browser to view this website correctly. <a id="btnUpdateBrowser" href="http://outdatedbrowser.com/" target="_blank" rel="noopener">Update
            my browser now </a></p>
    <p class="last"><a href="#" id="btnCloseUpdateBrowser" title="Close">&times;</a></p>
</div>
<script src="https://cdn.jsdelivr.net/npm/outdatedbrowser@1.1.5/outdatedbrowser/outdatedbrowser.min.js" defer></script>
<script>
    document.addEventListener("DOMContentLoaded", function () {
        outdatedBrowser({
            bgColor: '#f25648',
            color: '#ffffff',
            lowerThan: 'flex'
        });
    });
</script>

    
    <script src="https://cdn.jsdelivr.net/npm/mathjax@2.7.5/unpacked/MathJax.js?config=TeX-MML-AM_CHTML" defer></script>
<script>
document.addEventListener('DOMContentLoaded', function () {
    MathJax.Hub.Config({
        'HTML-CSS': {
            matchFontHeight: false
        },
        SVG: {
            matchFontHeight: false
        },
        CommonHTML: {
            matchFontHeight: false
        },
        tex2jax: {
            inlineMath: [
                ['$','$'],
                ['\\(','\\)']
            ]
        }
    });
});
</script>
    
    
    
    
    


<script src="/blog/js/main.js" defer></script>

    
    <div class="searchbox ins-search">
    <div class="searchbox-container ins-search-container">
        <div class="searchbox-input-wrapper">
            <input type="text" class="searchbox-input ins-search-input" placeholder="想要查找什么..." />
            <span class="searchbox-close ins-close ins-selectable"><i class="fa fa-times-circle"></i></span>
        </div>
        <div class="searchbox-result-wrapper ins-section-wrapper">
            <div class="ins-section-container"></div>
        </div>
    </div>
</div>
<script>
    (function (window) {
        var INSIGHT_CONFIG = {
            TRANSLATION: {
                POSTS: '文章',
                PAGES: '页面',
                CATEGORIES: '分类',
                TAGS: '标签',
                UNTITLED: '(无标题)',
            },
            CONTENT_URL: '/blog/content.json',
        };
        window.INSIGHT_CONFIG = INSIGHT_CONFIG;
    })(window);
</script>
<script src="/blog/js/insight.js" defer></script>
<link rel="stylesheet" href="/blog/css/search.css">
<link rel="stylesheet" href="/blog/css/insight.css">
    
   
<script src="/blog/live2dw/lib/L2Dwidget.min.js?094cbace49a39548bed64abff5988b05"></script><script>L2Dwidget.init({"log":false,"pluginJsPath":"lib/","pluginModelPath":"assets/","pluginRootPath":"live2dw/","tagMode":false});</script></body>
</html>